{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import sys\n",
    "import os\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import lightgbm as lgb\n",
    "from sklearn.metrics import roc_auc_score\n",
    "from sklearn.model_selection import StratifiedKFold\n",
    "from sklearn.preprocessing import StandardScaler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_df = pd.read_csv(\"../input/train.csv\")\n",
    "test_df  = pd.read_csv(\"../input/real_test.csv\")\n",
    "train_x = train_df.iloc[:, 2:].values\n",
    "test_x = test_df.iloc[:, 1:].values\n",
    "train_y = train_df.target.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_train = train_df.target.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_test_x_org = np.concatenate([train_x, test_x], axis=0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "reverse_list = [0,1,2,3,4,5,6,7,8,11,15,16,18,19,\n",
    "            22,24,25,26,27,41,29,\n",
    "            32,35,37,40,48,49,47,\n",
    "            55,51,52,53,60,61,62,103,65,66,67,69,\n",
    "            70,71,74,78,79,\n",
    "            82,84,89,90,91,94,95,96,97,99,\n",
    "            105,106,110,111,112,118,119,125,128,\n",
    "            130,133,134,135,137,138,\n",
    "            140,144,145,147,151,155,157,159,\n",
    "            161,162,163,164,167,168,\n",
    "            170,171,173,175,176,179,\n",
    "            180,181,184,185,187,189,\n",
    "            190,191,195,196,199]\n",
    "for j in reverse_list:\n",
    "    train_test_x_org[:, j] *= -1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# scaling\n",
    "scaler = StandardScaler()\n",
    "train_test_x = scaler.fit_transform(train_test_x_org)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_test_x_cnt = np.zeros((train_test_x.shape[0], 800))\n",
    "\n",
    "for j in range(200):\n",
    "    for i in range(1, 4):\n",
    "        x = np.round(train_test_x[:, j], i+1)\n",
    "        dic = pd.value_counts(x).to_dict()\n",
    "        train_test_x_cnt[:, i+j*4] = pd.Series(x).map(dic)\n",
    "    x = train_test_x[:, j]\n",
    "    dic = pd.value_counts(x).to_dict()\n",
    "    train_test_x_cnt[:, j*4] = pd.Series(x).map(dic)\n",
    "    \n",
    "train_test_x2 = np.zeros((train_test_x.shape[0], 1000))\n",
    "for j in range(200):\n",
    "    train_test_x2[:, 5*j+1:5*j+5] = train_test_x_cnt[:, 4*j:4*j+4]\n",
    "    train_test_x2[:, 5*j] = train_test_x[:, j]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [],
   "source": [
    "params = {\n",
    "    'bagging_freq': 5,\n",
    "    'bagging_fraction': 1.0,\n",
    "    'boost_from_average':'false',\n",
    "    'boost': 'gbdt',\n",
    "    'feature_fraction': 1.0,\n",
    "    'learning_rate': 0.005,\n",
    "    'max_depth': -1,\n",
    "    'metric':'binary_logloss',\n",
    "    'min_data_in_leaf': 30,\n",
    "    'min_sum_hessian_in_leaf': 10.0,\n",
    "    'num_leaves': 64,\n",
    "    'num_threads': 32,\n",
    "    'tree_learner': 'serial',\n",
    "    'objective': 'binary',\n",
    "    'verbosity': 1}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "tratest_X = np.concatenate([\n",
    "    np.concatenate([\n",
    "        train_test_x2[:200000, 5*cnum:5*cnum+5], \n",
    "        np.ones((y_train.shape[0], 1)).astype(\"int\")*cnum\n",
    "    ], axis=1) for cnum in range(200)], axis=0\n",
    ")\n",
    "tratest_y = np.concatenate([y_train for cnum in range(200)], axis=0)\n",
    "tratest_dset = lgb.Dataset(\n",
    "    tratest_X, tratest_y, \n",
    "    feature_name=['value', 'count_org', 'count_2', 'count_3', 'count_4', 'varnum'], \n",
    "    categorical_feature=['varnum'], free_raw_data=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "nfold = 5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[100]\tcv_agg's binary_logloss: 0.484684 + 3.56466e-06\n",
      "[200]\tcv_agg's binary_logloss: 0.395443 + 1.67381e-05\n",
      "[300]\tcv_agg's binary_logloss: 0.355431 + 9.95469e-06\n",
      "[400]\tcv_agg's binary_logloss: 0.337765 + 7.15578e-06\n",
      "[500]\tcv_agg's binary_logloss: 0.330231 + 8.90267e-06\n",
      "[600]\tcv_agg's binary_logloss: 0.327138 + 1.11591e-05\n",
      "[700]\tcv_agg's binary_logloss: 0.32591 + 1.27802e-05\n",
      "[800]\tcv_agg's binary_logloss: 0.325433 + 1.34071e-05\n",
      "[900]\tcv_agg's binary_logloss: 0.325252 + 1.38142e-05\n",
      "[1000]\tcv_agg's binary_logloss: 0.325183 + 1.40459e-05\n",
      "[1100]\tcv_agg's binary_logloss: 0.325158 + 1.4167e-05\n",
      "[1200]\tcv_agg's binary_logloss: 0.325149 + 1.42657e-05\n",
      "[1300]\tcv_agg's binary_logloss: 0.325145 + 1.43004e-05\n",
      "[1400]\tcv_agg's binary_logloss: 0.325145 + 1.43507e-05\n",
      "[1500]\tcv_agg's binary_logloss: 0.325144 + 1.44303e-05\n",
      "[1600]\tcv_agg's binary_logloss: 0.325145 + 1.45939e-05\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'binary_logloss-mean': [0.6899598825266284,\n",
       "  0.6868043265947537,\n",
       "  0.6836800965777656,\n",
       "  0.6805867869014405,\n",
       "  0.6775239953514156,\n",
       "  0.6744913255910185,\n",
       "  0.6714883985012008,\n",
       "  0.6685148250862787,\n",
       "  0.665570238321543,\n",
       "  0.6626542711686645,\n",
       "  0.6597665625910911,\n",
       "  0.6569067605739681,\n",
       "  0.6540745134541457,\n",
       "  0.651269482522197,\n",
       "  0.6484913332278814,\n",
       "  0.6457397340155142,\n",
       "  0.6430143589828501,\n",
       "  0.6403148928145024,\n",
       "  0.6376410192355056,\n",
       "  0.6349924304606817,\n",
       "  0.6323688229823873,\n",
       "  0.6297698986783345,\n",
       "  0.6271953640602478,\n",
       "  0.6246449306287797,\n",
       "  0.62211831372113,\n",
       "  0.6196152341251866,\n",
       "  0.6171354167066071,\n",
       "  0.6146785905294825,\n",
       "  0.6122444902092615,\n",
       "  0.6098328529081352,\n",
       "  0.6074434207249579,\n",
       "  0.6050759402206669,\n",
       "  0.6027301605931706,\n",
       "  0.6004058338839467,\n",
       "  0.5981027213868104,\n",
       "  0.5958205834721384,\n",
       "  0.5935591814914514,\n",
       "  0.5913182892825967,\n",
       "  0.5890976746559851,\n",
       "  0.5868971154978377,\n",
       "  0.5847163882469413,\n",
       "  0.5825552744370525,\n",
       "  0.5804135643739794,\n",
       "  0.5782910416832442,\n",
       "  0.5761874948591711,\n",
       "  0.5741027290624957,\n",
       "  0.5720365311775375,\n",
       "  0.5699887044863152,\n",
       "  0.5679590531856474,\n",
       "  0.5659473879689024,\n",
       "  0.5639535108628569,\n",
       "  0.5619772335137234,\n",
       "  0.5600183751348575,\n",
       "  0.558076745077839,\n",
       "  0.5561521695626545,\n",
       "  0.5542444672204112,\n",
       "  0.5523534625863549,\n",
       "  0.5504789798162806,\n",
       "  0.5486208528356609,\n",
       "  0.54677891111698,\n",
       "  0.5449529862711838,\n",
       "  0.5431429174333008,\n",
       "  0.5413485446909438,\n",
       "  0.5395696988330838,\n",
       "  0.5378062311484231,\n",
       "  0.5360579799557159,\n",
       "  0.5343247961155144,\n",
       "  0.532606526131185,\n",
       "  0.5309030250130281,\n",
       "  0.5292141355817231,\n",
       "  0.5275397211801508,\n",
       "  0.5258796334986229,\n",
       "  0.5242337342847737,\n",
       "  0.5226018841325148,\n",
       "  0.5209839369734666,\n",
       "  0.5193797654971715,\n",
       "  0.5177892323411291,\n",
       "  0.5162121955552387,\n",
       "  0.5146485391593094,\n",
       "  0.513098115650857,\n",
       "  0.5115608134378988,\n",
       "  0.5100364956031236,\n",
       "  0.5085250392547437,\n",
       "  0.507026329042717,\n",
       "  0.5055402334717514,\n",
       "  0.5040666305616758,\n",
       "  0.502605411226976,\n",
       "  0.5011564467303751,\n",
       "  0.49971963193327273,\n",
       "  0.4982948412260157,\n",
       "  0.49688197299763043,\n",
       "  0.49548090153952895,\n",
       "  0.49409152806609535,\n",
       "  0.4927137372260244,\n",
       "  0.49134741854668273,\n",
       "  0.48999247399747087,\n",
       "  0.4886487889902952,\n",
       "  0.4873162651869157,\n",
       "  0.4859947949913079,\n",
       "  0.4846842825776827,\n",
       "  0.48338461883318723,\n",
       "  0.4820957122730989,\n",
       "  0.48081745672070486,\n",
       "  0.4795497637485992,\n",
       "  0.4782925269725292,\n",
       "  0.4770456608048478,\n",
       "  0.47580906621753627,\n",
       "  0.4745826506644792,\n",
       "  0.4733663266921739,\n",
       "  0.47215999257533803,\n",
       "  0.4709635715258228,\n",
       "  0.4697769662845722,\n",
       "  0.4686000882075835,\n",
       "  0.4674328505484536,\n",
       "  0.4662751737745482,\n",
       "  0.465126969596857,\n",
       "  0.4639881526467632,\n",
       "  0.4628586412396201,\n",
       "  0.46173834470256186,\n",
       "  0.4606271929910041,\n",
       "  0.4595251026689124,\n",
       "  0.4584319925480602,\n",
       "  0.4573477808334774,\n",
       "  0.45627239362026123,\n",
       "  0.4552057509890842,\n",
       "  0.45414778316508936,\n",
       "  0.45309840618839886,\n",
       "  0.4520575463517556,\n",
       "  0.4510251336641229,\n",
       "  0.45000109131485483,\n",
       "  0.4489853495328268,\n",
       "  0.4479778346017268,\n",
       "  0.44697847733950613,\n",
       "  0.445987208891122,\n",
       "  0.4450039542912462,\n",
       "  0.44402865056329155,\n",
       "  0.44306122704009343,\n",
       "  0.44210161657539365,\n",
       "  0.4411497512646429,\n",
       "  0.44020556691796814,\n",
       "  0.43926899590495533,\n",
       "  0.43833997792562285,\n",
       "  0.43741844031930277,\n",
       "  0.43650432646764853,\n",
       "  0.43559757174911695,\n",
       "  0.43469811670433084,\n",
       "  0.43380589443037165,\n",
       "  0.43292085103121014,\n",
       "  0.43204292022424406,\n",
       "  0.4311720442052323,\n",
       "  0.4303081649473738,\n",
       "  0.42945121988779145,\n",
       "  0.4286011569360336,\n",
       "  0.42775791143388203,\n",
       "  0.4269214342417718,\n",
       "  0.4260916622003016,\n",
       "  0.4252685446007686,\n",
       "  0.4244520196991292,\n",
       "  0.42364204166274366,\n",
       "  0.422838550628172,\n",
       "  0.4220414959975546,\n",
       "  0.42125081876728226,\n",
       "  0.4204664704689186,\n",
       "  0.4196883998311474,\n",
       "  0.4189165551412506,\n",
       "  0.4181508814885899,\n",
       "  0.41739108378979345,\n",
       "  0.4166373529402301,\n",
       "  0.4158896485020101,\n",
       "  0.41514792057253463,\n",
       "  0.41441211672712797,\n",
       "  0.41368219196247813,\n",
       "  0.41295809336476436,\n",
       "  0.41223978195005273,\n",
       "  0.4115272037879808,\n",
       "  0.410820312642907,\n",
       "  0.41011906503259093,\n",
       "  0.4094234095078518,\n",
       "  0.4087333140709988,\n",
       "  0.40804871835552614,\n",
       "  0.4073695886644894,\n",
       "  0.40669588002446766,\n",
       "  0.4060275364160799,\n",
       "  0.40536452895526887,\n",
       "  0.4047065451804085,\n",
       "  0.40405380393732093,\n",
       "  0.40340626993185025,\n",
       "  0.40276389399898394,\n",
       "  0.40212664185180386,\n",
       "  0.40149446798856847,\n",
       "  0.40086732901971744,\n",
       "  0.4002451934333882,\n",
       "  0.39962801169116063,\n",
       "  0.39901575075722484,\n",
       "  0.3984083714107586,\n",
       "  0.3978058303837496,\n",
       "  0.39720808716851125,\n",
       "  0.39661510886108325,\n",
       "  0.3960268558695227,\n",
       "  0.3954430213697604,\n",
       "  0.3948638365986915,\n",
       "  0.39428926973275136,\n",
       "  0.393719005050064,\n",
       "  0.393153278670519,\n",
       "  0.3925920678008975,\n",
       "  0.3920353184405778,\n",
       "  0.3914830090317708,\n",
       "  0.3909351117397086,\n",
       "  0.3903915629778081,\n",
       "  0.38985235094428505,\n",
       "  0.38931743716205913,\n",
       "  0.3887867852776461,\n",
       "  0.3882603725047499,\n",
       "  0.38773815000713685,\n",
       "  0.3872200954398101,\n",
       "  0.3867061681421322,\n",
       "  0.3861960597398792,\n",
       "  0.3856900108704612,\n",
       "  0.38518800563258293,\n",
       "  0.38468999857031055,\n",
       "  0.38419597246705617,\n",
       "  0.38370587180895704,\n",
       "  0.38321969578917003,\n",
       "  0.38273739042040467,\n",
       "  0.3822589371781885,\n",
       "  0.38178429727510743,\n",
       "  0.3813134588049297,\n",
       "  0.38084635494605085,\n",
       "  0.38038300127246927,\n",
       "  0.37992334642994213,\n",
       "  0.37946735136425613,\n",
       "  0.37901500217476936,\n",
       "  0.37856628098860884,\n",
       "  0.37812113305773176,\n",
       "  0.3776795453495333,\n",
       "  0.3772414838610957,\n",
       "  0.37680693970497314,\n",
       "  0.37637585354399944,\n",
       "  0.3759482301494978,\n",
       "  0.3755240107221195,\n",
       "  0.3751031978643393,\n",
       "  0.3746857506117363,\n",
       "  0.37427163715084316,\n",
       "  0.3738608505250246,\n",
       "  0.3734533514020063,\n",
       "  0.37304910814792197,\n",
       "  0.3726481074511048,\n",
       "  0.3722503135684453,\n",
       "  0.3718557263091592,\n",
       "  0.37146428577804114,\n",
       "  0.37107599293970617,\n",
       "  0.3706908080457613,\n",
       "  0.3703087196875344,\n",
       "  0.3699296901122325,\n",
       "  0.3695537050702406,\n",
       "  0.36918074276532037,\n",
       "  0.3688107770967202,\n",
       "  0.3684437837078551,\n",
       "  0.3680797394323472,\n",
       "  0.36771862215410833,\n",
       "  0.36736041219120463,\n",
       "  0.367005080511219,\n",
       "  0.36665260834917035,\n",
       "  0.36630297509426923,\n",
       "  0.3659561474360195,\n",
       "  0.36561213253924635,\n",
       "  0.36527087380914425,\n",
       "  0.36493235775395877,\n",
       "  0.3645965800176283,\n",
       "  0.3642635083539103,\n",
       "  0.3639331181008688,\n",
       "  0.36360539352774846,\n",
       "  0.36328032038924535,\n",
       "  0.36295785920196727,\n",
       "  0.3626380063257777,\n",
       "  0.36232073764506567,\n",
       "  0.3620060332444508,\n",
       "  0.3616938766736131,\n",
       "  0.3613842369431497,\n",
       "  0.36107710405295,\n",
       "  0.36077245283998505,\n",
       "  0.3604702610105601,\n",
       "  0.3601705298276844,\n",
       "  0.3598732185192351,\n",
       "  0.3595783129130406,\n",
       "  0.35928580580354275,\n",
       "  0.35899566348689244,\n",
       "  0.35870787872646187,\n",
       "  0.3584224164523243,\n",
       "  0.3581392841560254,\n",
       "  0.3578584470247126,\n",
       "  0.3575798919862544,\n",
       "  0.35730360073643574,\n",
       "  0.3570295484586735,\n",
       "  0.3567577374777905,\n",
       "  0.3564881231009391,\n",
       "  0.3562207084290535,\n",
       "  0.35595547159104235,\n",
       "  0.3556923996458548,\n",
       "  0.3554314616812472,\n",
       "  0.35517265608537374,\n",
       "  0.35491596213956217,\n",
       "  0.35466136076444155,\n",
       "  0.3544088357151046,\n",
       "  0.3541583679040901,\n",
       "  0.35390994470443105,\n",
       "  0.35366356145266276,\n",
       "  0.35341918270915534,\n",
       "  0.3531768080158291,\n",
       "  0.3529364088974768,\n",
       "  0.3526979767915134,\n",
       "  0.3524615072745638,\n",
       "  0.3522269640016513,\n",
       "  0.35199434501798244,\n",
       "  0.35176362667881267,\n",
       "  0.3515348094771388,\n",
       "  0.351307861187525,\n",
       "  0.3510827730237187,\n",
       "  0.35085953528049885,\n",
       "  0.35063812889720003,\n",
       "  0.3504185402050003,\n",
       "  0.35020076133110184,\n",
       "  0.34998476836010106,\n",
       "  0.3497705574132173,\n",
       "  0.34955810398692005,\n",
       "  0.34934738667098497,\n",
       "  0.3491384195847058,\n",
       "  0.34893116621218284,\n",
       "  0.3487256303297467,\n",
       "  0.34852178180240984,\n",
       "  0.3483196189566834,\n",
       "  0.34811911799093603,\n",
       "  0.3479202755876049,\n",
       "  0.347723072321004,\n",
       "  0.3475275033208238,\n",
       "  0.34733354749905715,\n",
       "  0.34714120339528026,\n",
       "  0.34695043967937983,\n",
       "  0.34676125526398804,\n",
       "  0.3465736408290464,\n",
       "  0.3463875746842935,\n",
       "  0.3462030647036484,\n",
       "  0.34602006466974744,\n",
       "  0.3458385955081434,\n",
       "  0.3456586261036393,\n",
       "  0.34548015193056053,\n",
       "  0.3453031611876395,\n",
       "  0.34512763640115673,\n",
       "  0.34495357648850433,\n",
       "  0.3447809634333828,\n",
       "  0.3446097914791971,\n",
       "  0.3444400301377509,\n",
       "  0.34427169178505546,\n",
       "  0.3441047568339073,\n",
       "  0.34393920658390603,\n",
       "  0.3437750456958418,\n",
       "  0.3436122528328294,\n",
       "  0.34345081863359994,\n",
       "  0.3432907251274581,\n",
       "  0.343131978233744,\n",
       "  0.3429745513236102,\n",
       "  0.34281844551439755,\n",
       "  0.34266364774807734,\n",
       "  0.3425101423273277,\n",
       "  0.34235791306469276,\n",
       "  0.34220696423609553,\n",
       "  0.3420572797533332,\n",
       "  0.34190885611295013,\n",
       "  0.34176166087079457,\n",
       "  0.341615711801716,\n",
       "  0.3414709947650454,\n",
       "  0.341327483673787,\n",
       "  0.3411851760097637,\n",
       "  0.3410440704943468,\n",
       "  0.3409041477325819,\n",
       "  0.3407653950570865,\n",
       "  0.34062782445872813,\n",
       "  0.34049140565665675,\n",
       "  0.340356137217928,\n",
       "  0.3402220087210896,\n",
       "  0.34008901687787435,\n",
       "  0.3399571357589723,\n",
       "  0.3398263763678789,\n",
       "  0.3396967182585044,\n",
       "  0.339568146162733,\n",
       "  0.33944067416617296,\n",
       "  0.33931427282739085,\n",
       "  0.33918894432505653,\n",
       "  0.3390646840552995,\n",
       "  0.33894147055581225,\n",
       "  0.33881929271716965,\n",
       "  0.338698165515969,\n",
       "  0.3385780669437336,\n",
       "  0.3384589852364098,\n",
       "  0.3383409064675663,\n",
       "  0.3382238334078539,\n",
       "  0.33810774626750784,\n",
       "  0.3379926655675883,\n",
       "  0.33787854808626533,\n",
       "  0.33776539767040836,\n",
       "  0.33765322775592954,\n",
       "  0.33754200289405356,\n",
       "  0.337431715538477,\n",
       "  0.3373223867455645,\n",
       "  0.33721398732971153,\n",
       "  0.337106509144573,\n",
       "  0.33699993910731924,\n",
       "  0.33689429557647266,\n",
       "  0.33678954098348585,\n",
       "  0.33668568357765316,\n",
       "  0.33658272057136684,\n",
       "  0.336480642123124,\n",
       "  0.33637942399976073,\n",
       "  0.3362790759371672,\n",
       "  0.3361795831922965,\n",
       "  0.336080949713644,\n",
       "  0.33598315938069373,\n",
       "  0.3358862043209191,\n",
       "  0.3357900976207383,\n",
       "  0.33569480226515347,\n",
       "  0.33560032983503485,\n",
       "  0.3355066604542877,\n",
       "  0.3354137979651458,\n",
       "  0.3353217460145642,\n",
       "  0.3352304733429699,\n",
       "  0.3351400005624322,\n",
       "  0.33505029372699424,\n",
       "  0.3349613772784361,\n",
       "  0.334873205732528,\n",
       "  0.33478581030799764,\n",
       "  0.3346991568541551,\n",
       "  0.3346132593071915,\n",
       "  0.33452809805277184,\n",
       "  0.3344436740958077,\n",
       "  0.33435998949751,\n",
       "  0.3342770202249742,\n",
       "  0.3341947696577825,\n",
       "  0.33411322901964746,\n",
       "  0.33403240345528723,\n",
       "  0.3339522807968631,\n",
       "  0.3338728439915871,\n",
       "  0.33379410120787495,\n",
       "  0.3337160400127758,\n",
       "  0.3336386557918221,\n",
       "  0.3335619516165781,\n",
       "  0.33348589586552924,\n",
       "  0.3334105133147869,\n",
       "  0.33333579532326774,\n",
       "  0.33326171280614697,\n",
       "  0.33318827717381266,\n",
       "  0.33311547584347806,\n",
       "  0.3330433115233301,\n",
       "  0.33297178325434473,\n",
       "  0.3329008676092814,\n",
       "  0.33283058827419587,\n",
       "  0.3327609109204092,\n",
       "  0.33269184724684175,\n",
       "  0.33262337907690076,\n",
       "  0.3325555214876529,\n",
       "  0.3324882587856951,\n",
       "  0.3324215696492418,\n",
       "  0.33235546766842294,\n",
       "  0.33228995163463804,\n",
       "  0.3322250029218229,\n",
       "  0.33216063586339106,\n",
       "  0.3320968220761714,\n",
       "  0.3320335615698279,\n",
       "  0.3319708617313438,\n",
       "  0.33190871733180494,\n",
       "  0.33184711278288814,\n",
       "  0.3317860481084018,\n",
       "  0.3317255170292136,\n",
       "  0.3316655246165399,\n",
       "  0.3316060576613154,\n",
       "  0.33154711147979776,\n",
       "  0.3314886838640344,\n",
       "  0.331430769111759,\n",
       "  0.33137336513341126,\n",
       "  0.331316482979979,\n",
       "  0.33126008282604097,\n",
       "  0.3312041823422025,\n",
       "  0.3311487779857377,\n",
       "  0.33109387322388584,\n",
       "  0.33103943981784245,\n",
       "  0.33098549579063835,\n",
       "  0.33093201702249164,\n",
       "  0.3308790233359223,\n",
       "  0.3308264930494788,\n",
       "  0.33077443904876214,\n",
       "  0.3307228336536567,\n",
       "  0.33067168564668553,\n",
       "  0.3306209919021074,\n",
       "  0.3305707488040911,\n",
       "  0.330520953659864,\n",
       "  0.33047160503299244,\n",
       "  0.33042269146562503,\n",
       "  0.3303742138134079,\n",
       "  0.3303261638557668,\n",
       "  0.33027853891772735,\n",
       "  0.33023133551696887,\n",
       "  0.33018455854269735,\n",
       "  0.3301381863321487,\n",
       "  0.33009222655501913,\n",
       "  0.3300466929970264,\n",
       "  0.33000155744661386,\n",
       "  0.3299568177376841,\n",
       "  0.3299124846383136,\n",
       "  0.32986854774411417,\n",
       "  0.329824991225871,\n",
       "  0.3297818348808922,\n",
       "  0.32973905822302685,\n",
       "  0.32969666290516564,\n",
       "  0.3296546416697724,\n",
       "  0.32961300005170846,\n",
       "  0.3295717363191787,\n",
       "  0.32953083201067906,\n",
       "  0.32949030772931265,\n",
       "  0.32945013855138805,\n",
       "  0.3294103242759257,\n",
       "  0.3293708777915804,\n",
       "  0.3293317867068153,\n",
       "  0.3292930251891707,\n",
       "  0.32925462570349706,\n",
       "  0.3292165600899314,\n",
       "  0.3291788410764207,\n",
       "  0.32914147125349313,\n",
       "  0.3291044201865424,\n",
       "  0.32906771872910084,\n",
       "  0.32903134080410473,\n",
       "  0.32899529576711484,\n",
       "  0.32895957706834383,\n",
       "  0.328924171107437,\n",
       "  0.32888907477470597,\n",
       "  0.32885431328295234,\n",
       "  0.32881986135927166,\n",
       "  0.32878570696443643,\n",
       "  0.32875186919189453,\n",
       "  0.32871833580946896,\n",
       "  0.32868511254883337,\n",
       "  0.32865218978348143,\n",
       "  0.32861957361469496,\n",
       "  0.32858723331563144,\n",
       "  0.3285551940190351,\n",
       "  0.3285234455254568,\n",
       "  0.3284919681250325,\n",
       "  0.32846079558958546,\n",
       "  0.32842988990109495,\n",
       "  0.32839926821062543,\n",
       "  0.32836893080451296,\n",
       "  0.32833886708257526,\n",
       "  0.32830906618642797,\n",
       "  0.32827954625359357,\n",
       "  0.32825028852365423,\n",
       "  0.3282212968854738,\n",
       "  0.3281925675322606,\n",
       "  0.3281641046239024,\n",
       "  0.3281358914707104,\n",
       "  0.3281079381761494,\n",
       "  0.32808023211464055,\n",
       "  0.3280527838325319,\n",
       "  0.32802557773547747,\n",
       "  0.3279986238497788,\n",
       "  0.3279719263073852,\n",
       "  0.32794546117731294,\n",
       "  0.32791924805232997,\n",
       "  0.3278932517184016,\n",
       "  0.3278675141533489,\n",
       "  0.327841999583038,\n",
       "  0.32781672177849874,\n",
       "  0.3277916719115993,\n",
       "  0.3277668515088193,\n",
       "  0.32774226603339807,\n",
       "  0.32771789798731044,\n",
       "  0.3276937509465264,\n",
       "  0.3276698279510217,\n",
       "  0.3276461302505734,\n",
       "  0.32762264090320625,\n",
       "  0.32759937852513277,\n",
       "  0.32757632000458703,\n",
       "  0.3275534651122053,\n",
       "  0.3275308242000947,\n",
       "  0.327508402095604,\n",
       "  0.327486174316051,\n",
       "  0.32746415654777766,\n",
       "  0.32744233405781964,\n",
       "  0.32742071297491326,\n",
       "  0.32739929836979287,\n",
       "  0.3273780771117921,\n",
       "  0.3273570487258125,\n",
       "  0.3273362036800754,\n",
       "  0.32731556864106137,\n",
       "  0.3272951233348841,\n",
       "  0.3272748579691085,\n",
       "  0.3272547889556903,\n",
       "  0.3272348892934162,\n",
       "  0.32721517747213885,\n",
       "  0.32719565295998376,\n",
       "  0.32717629723769587,\n",
       "  0.32715713419318215,\n",
       "  0.32713814023457183,\n",
       "  0.32711932391532245,\n",
       "  0.3271006832647295,\n",
       "  0.3270822077270824,\n",
       "  0.3270639128498748,\n",
       "  0.3270457731374602,\n",
       "  0.3270278150511758,\n",
       "  0.3270100209061759,\n",
       "  0.3269923906924482,\n",
       "  0.326974913783335,\n",
       "  0.32695761180203825,\n",
       "  0.32694045494263396,\n",
       "  0.32692345552962915,\n",
       "  0.32690661703828583,\n",
       "  0.32688992849563714,\n",
       "  0.32687340428736184,\n",
       "  0.3268570287325266,\n",
       "  0.32684081141211196,\n",
       "  0.32682475000985206,\n",
       "  0.32680882479510853,\n",
       "  0.32679305372969913,\n",
       "  0.32677743349426003,\n",
       "  0.32676194005239545,\n",
       "  0.3267466075444552,\n",
       "  0.3267314112608654,\n",
       "  0.32671634574032044,\n",
       "  0.3267014347294366,\n",
       "  0.32668665155197923,\n",
       "  0.326672005795017,\n",
       "  0.3266574981318314,\n",
       "  0.3266431350579006,\n",
       "  0.3266288915219837,\n",
       "  0.3266147846054153,\n",
       "  0.3266008086007568,\n",
       "  0.32658697903556994,\n",
       "  0.326573266432052,\n",
       "  0.32655967311103157,\n",
       "  0.32654621877675416,\n",
       "  0.32653288054825425,\n",
       "  0.3265196720963317,\n",
       "  0.32650657775655983,\n",
       "  0.32649361623147277,\n",
       "  0.3264807748938984,\n",
       "  0.3264680561222709,\n",
       "  0.3264554569660013,\n",
       "  0.3264429796540866,\n",
       "  0.32643060583931827,\n",
       "  0.32641835361761384,\n",
       "  0.32640620952758487,\n",
       "  0.3263941765062301,\n",
       "  0.3263822605447212,\n",
       "  0.3263704627902938,\n",
       "  0.32635877291096804,\n",
       "  0.326347185944472,\n",
       "  0.3263357055072554,\n",
       "  0.32632433819445056,\n",
       "  0.32631308060366593,\n",
       "  0.32630193213264164,\n",
       "  0.3262908707051781,\n",
       "  0.32627993031805225,\n",
       "  0.32626909569607526,\n",
       "  0.32625834260963715,\n",
       "  0.3262477115867418,\n",
       "  0.3262371604026058,\n",
       "  0.3262267184967577,\n",
       "  0.32621637478851767,\n",
       "  0.3262061310389218,\n",
       "  0.3261959709007864,\n",
       "  0.3261859257524146,\n",
       "  0.3261759666801551,\n",
       "  0.3261661024736669,\n",
       "  0.3261563189097373,\n",
       "  0.32614663799776916,\n",
       "  0.3261370398375284,\n",
       "  0.3261275341374813,\n",
       "  0.3261181248545883,\n",
       "  0.32610879602700316,\n",
       "  0.32609955558145665,\n",
       "  0.32609040422582436,\n",
       "  0.32608134434402,\n",
       "  0.32607236347569624,\n",
       "  0.3260634653545203,\n",
       "  0.32605465342280027,\n",
       "  0.32604592501065355,\n",
       "  0.3260372753244296,\n",
       "  0.32602870931817995,\n",
       "  0.3260202227546098,\n",
       "  0.32601181080714825,\n",
       "  0.32600348826528275,\n",
       "  0.3259952393382272,\n",
       "  0.3259870631759561,\n",
       "  0.3259789743722982,\n",
       "  0.32597096095478095,\n",
       "  0.32596302326147547,\n",
       "  0.3259551601013177,\n",
       "  0.3259473767604587,\n",
       "  0.3259396484322491,\n",
       "  0.3259320092312876,\n",
       "  0.3259244375262108,\n",
       "  0.3259169369327388,\n",
       "  0.3259095062307197,\n",
       "  0.3259021563992617,\n",
       "  0.3258948710485294,\n",
       "  0.3258876529709519,\n",
       "  0.3258805087980278,\n",
       "  0.3258734257117661,\n",
       "  0.3258664079502258,\n",
       "  0.325859460109012,\n",
       "  0.3258525726145275,\n",
       "  0.32584574979601294,\n",
       "  0.3258389957904896,\n",
       "  0.3258323178407873,\n",
       "  0.3258256867811041,\n",
       "  0.3258191344944058,\n",
       "  0.32581263616477746,\n",
       "  0.32580619847495285,\n",
       "  0.32579983331584256,\n",
       "  0.32579350731569806,\n",
       "  0.32578725834692773,\n",
       "  0.3257810562488188,\n",
       "  0.3257749148527118,\n",
       "  0.32576883142523294,\n",
       "  0.32576280891472825,\n",
       "  0.32575684333615107,\n",
       "  0.32575092526760885,\n",
       "  0.3257450783044325,\n",
       "  0.3257392703408826,\n",
       "  0.32573352355066054,\n",
       "  0.32572783734211375,\n",
       "  0.3257221912502835,\n",
       "  0.32571660164944,\n",
       "  0.3257110779887281,\n",
       "  0.3257055995505883,\n",
       "  0.32570017253563527,\n",
       "  0.32569479785507516,\n",
       "  0.3256894767138978,\n",
       "  0.32568420905070683,\n",
       "  0.3256789878840932,\n",
       "  0.3256738222919199,\n",
       "  0.32566869303186147,\n",
       "  0.3256636179785947,\n",
       "  0.3256585930417071,\n",
       "  0.3256536176066255,\n",
       "  0.3256486855392625,\n",
       "  0.325643803604728,\n",
       "  0.32563896698254946,\n",
       "  0.32563418238702563,\n",
       "  0.325629449185581,\n",
       "  0.3256247547527774,\n",
       "  0.3256200925384653,\n",
       "  0.32561548759182307,\n",
       "  0.3256109216045684,\n",
       "  0.3256064007718675,\n",
       "  0.32560191542971073,\n",
       "  0.3255974873502818,\n",
       "  0.3255930946738493,\n",
       "  0.3255887369926169,\n",
       "  0.3255844303792685,\n",
       "  0.32558015523944356,\n",
       "  0.325575929348611,\n",
       "  0.3255717383398136,\n",
       "  0.32556758529585167,\n",
       "  0.3255634869874051,\n",
       "  0.32555942338015315,\n",
       "  0.32555539432919306,\n",
       "  0.3255513988494431,\n",
       "  0.3255474463424822,\n",
       "  0.32554352133995657,\n",
       "  0.32553964671481095,\n",
       "  0.32553580505116025,\n",
       "  0.3255319947345031,\n",
       "  0.32552822969019807,\n",
       "  0.32552449233131464,\n",
       "  0.32552079534137607,\n",
       "  0.3255171273300928,\n",
       "  0.32551349843123967,\n",
       "  0.3255099080540539,\n",
       "  0.3255063471833566,\n",
       "  0.3255028176403025,\n",
       "  0.32549932618157335,\n",
       "  0.32549586778139983,\n",
       "  0.3254924374220694,\n",
       "  0.3254890385231723,\n",
       "  0.32548568470265427,\n",
       "  0.3254823562487748,\n",
       "  0.32547906667310833,\n",
       "  0.3254758079412062,\n",
       "  0.32547257835169935,\n",
       "  0.3254693799397712,\n",
       "  0.325466196195039,\n",
       "  0.3254630626310059,\n",
       "  0.32545995756196805,\n",
       "  0.32545688043176463,\n",
       "  0.32545382969471026,\n",
       "  0.3254508001416956,\n",
       "  0.32544781320750915,\n",
       "  0.32544485169334636,\n",
       "  0.3254419156656302,\n",
       "  0.32543901385255347,\n",
       "  0.325436135169562,\n",
       "  0.3254332909137094,\n",
       "  0.3254304669031754,\n",
       "  0.32542766853285765,\n",
       "  0.3254248965587799,\n",
       "  0.32542215915023925,\n",
       "  0.3254194367516499,\n",
       "  0.32541674665284714,\n",
       "  0.32541408326360455,\n",
       "  0.3254114440428697,\n",
       "  0.3254088314082842,\n",
       "  0.3254062405138016,\n",
       "  0.3254036804843588,\n",
       "  0.3254011438721111,\n",
       "  0.3253986285870352,\n",
       "  0.32539613881692636,\n",
       "  0.32539367502480043,\n",
       "  0.3253912353008097,\n",
       "  0.32538881863505814,\n",
       "  0.32538642303820514,\n",
       "  0.3253840547080726,\n",
       "  0.3253817126648728,\n",
       "  0.32537939661324367,\n",
       "  0.3253770907827855,\n",
       "  0.32537480109713784,\n",
       "  0.32537254340965405,\n",
       "  0.32537030358384117,\n",
       "  0.3253680811048712,\n",
       "  0.325365887597937,\n",
       "  0.32536370690883026,\n",
       "  0.32536155328722793,\n",
       "  0.3253594236023506,\n",
       "  0.32535730980138433,\n",
       "  0.32535521961270525,\n",
       "  0.3253531425608229,\n",
       "  0.3253510953443985,\n",
       "  0.3253490592516466,\n",
       "  0.3253470543018372,\n",
       "  0.32534505652575846,\n",
       "  0.32534308661230193,\n",
       "  0.3253411276741075,\n",
       "  0.3253391995065127,\n",
       "  0.3253372757143672,\n",
       "  0.3253353772786368,\n",
       "  0.32533349805488093,\n",
       "  0.3253316403723997,\n",
       "  0.32532978965928744,\n",
       "  0.3253279635694751,\n",
       "  0.32532614874046784,\n",
       "  0.32532435397250103,\n",
       "  0.325322578589719,\n",
       "  0.32532082210797186,\n",
       "  0.32531908860215236,\n",
       "  0.32531735988094096,\n",
       "  0.3253156608804491,\n",
       "  0.32531397346717017,\n",
       "  0.3253123012022519,\n",
       "  0.3253106357154349,\n",
       "  0.32530900461670265,\n",
       "  0.32530737729993386,\n",
       "  0.32530577175919834,\n",
       "  0.3253041759190984,\n",
       "  0.32530259882212337,\n",
       "  0.3253010343075339,\n",
       "  0.3252994939937565,\n",
       "  0.32529797066987376,\n",
       "  0.3252964496106469,\n",
       "  0.32529494353371524,\n",
       "  0.3252934538923148,\n",
       "  0.32529197589463166,\n",
       "  0.3252905016140816,\n",
       "  0.3252890573743529,\n",
       "  0.32528762279394363,\n",
       "  0.32528620929068586,\n",
       "  0.32528479989650866,\n",
       "  0.32528340768391056,\n",
       "  0.3252820291708248,\n",
       "  0.3252806657537981,\n",
       "  0.3252793222198264,\n",
       "  0.3252779830367464,\n",
       "  0.3252766559951711,\n",
       "  0.32527533537362724,\n",
       "  0.325274039386398,\n",
       "  0.32527275494510366,\n",
       "  0.3252714874359809,\n",
       "  0.3252702147398133,\n",
       "  0.32526897539372196,\n",
       "  0.3252677427946089,\n",
       "  0.325266519465257,\n",
       "  0.32526530159846867,\n",
       "  0.325264106366676,\n",
       "  0.3252629247308584,\n",
       "  0.32526174668274793,\n",
       "  0.3252605810164734,\n",
       "  0.32525941632652894,\n",
       "  0.32525827569209015,\n",
       "  0.3252571495512499,\n",
       "  0.32525603562713556,\n",
       "  0.3252549196274057,\n",
       "  0.3252538195137179,\n",
       "  0.3252527215725414,\n",
       "  0.3252516427491893,\n",
       "  0.32525058578911914,\n",
       "  0.3252495310631961,\n",
       "  0.3252484830214366,\n",
       "  0.32524744560041663,\n",
       "  0.32524642210520005,\n",
       "  0.32524541088176645,\n",
       "  0.32524440524054726,\n",
       "  0.3252434060785704,\n",
       "  0.3252424159927999,\n",
       "  0.32524143545896,\n",
       "  0.325240469276883,\n",
       "  0.32523950609454344,\n",
       "  0.3252385602584499,\n",
       "  0.32523762059927874,\n",
       "  0.32523667961239494,\n",
       "  0.32523575361058493,\n",
       "  0.32523484950355885,\n",
       "  0.32523393861646255,\n",
       "  0.32523304277246357,\n",
       "  0.3252321556559351,\n",
       "  0.32523127529055235,\n",
       "  0.32523041618605875,\n",
       "  0.3252295630332217,\n",
       "  0.32522871442396706,\n",
       "  0.3252278734458199,\n",
       "  0.3252270344678996,\n",
       "  0.32522620756919673,\n",
       "  0.3252253859216332,\n",
       "  0.3252245831710795,\n",
       "  0.32522377420034754,\n",
       "  0.32522297921842747,\n",
       "  0.32522220042205546,\n",
       "  0.3252214252361815,\n",
       "  0.3252206559279059,\n",
       "  0.3252198939972726,\n",
       "  0.32521913497993477,\n",
       "  0.32521838825221117,\n",
       "  0.3252176406524427,\n",
       "  0.32521690665501585,\n",
       "  0.3252161837609977,\n",
       "  0.325215465031348,\n",
       "  0.3252147502979271,\n",
       "  0.3252140436846037,\n",
       "  0.3252133483060037,\n",
       "  0.32521266034932483,\n",
       "  0.3252119726086672,\n",
       "  0.32521129267053883,\n",
       "  0.3252106211685504,\n",
       "  0.32520995756247323,\n",
       "  0.3252092990946764,\n",
       "  0.3252086426378583,\n",
       "  0.32520800123002147,\n",
       "  0.32520736352862795,\n",
       "  0.32520672782284965,\n",
       "  0.3252060949591232,\n",
       "  0.3252054737239788,\n",
       "  0.3252048470965575,\n",
       "  0.3252042402153599,\n",
       "  0.32520363713455563,\n",
       "  0.32520303841152814,\n",
       "  0.325202447054394,\n",
       "  0.32520186274237894,\n",
       "  0.32520128186142827,\n",
       "  0.32520071051044547,\n",
       "  0.3252001422154797,\n",
       "  0.3251995802095992,\n",
       "  0.32519902754735736,\n",
       "  0.3251984772590083,\n",
       "  0.3251979279826928,\n",
       "  0.32519738732696124,\n",
       "  0.32519684694331563,\n",
       "  0.325196318483817,\n",
       "  0.3251957908523705,\n",
       "  0.32519526637493285,\n",
       "  0.3251947513203993,\n",
       "  0.32519424403095404,\n",
       "  0.32519374021813874,\n",
       "  0.32519323933604277,\n",
       "  0.3251927465007648,\n",
       "  0.32519225961805975,\n",
       "  0.32519177898059826,\n",
       "  0.3251912971385485,\n",
       "  0.3251908209446269,\n",
       "  0.3251903615304236,\n",
       "  0.3251898946883509,\n",
       "  0.32518943115563576,\n",
       "  0.3251889756053873,\n",
       "  0.3251885260436967,\n",
       "  0.32518807970333496,\n",
       "  0.32518763428076863,\n",
       "  0.32518718649292666,\n",
       "  0.3251867527762237,\n",
       "  0.3251863205170803,\n",
       "  0.32518588580717084,\n",
       "  0.32518545481403827,\n",
       "  0.3251850347176683,\n",
       "  0.325184616458595,\n",
       "  0.32518420451041186,\n",
       "  0.32518379579048223,\n",
       "  0.32518338727995727,\n",
       "  ...],\n",
       " 'binary_logloss-stdv': [5.524132449543463e-08,\n",
       "  1.1086828308701743e-07,\n",
       "  1.6368969089572913e-07,\n",
       "  2.1678245723973706e-07,\n",
       "  2.6686813431346277e-07,\n",
       "  3.1870278103765204e-07,\n",
       "  3.687913789926269e-07,\n",
       "  4.1976474386081586e-07,\n",
       "  4.686029780882629e-07,\n",
       "  5.185318729972437e-07,\n",
       "  5.653959989937653e-07,\n",
       "  6.136653504106961e-07,\n",
       "  6.63126351530001e-07,\n",
       "  7.087275116503879e-07,\n",
       "  7.556467257913076e-07,\n",
       "  7.996930988031967e-07,\n",
       "  8.449725075357965e-07,\n",
       "  8.905112787985183e-07,\n",
       "  9.329104496073217e-07,\n",
       "  9.77465495435507e-07,\n",
       "  1.0212792647760254e-06,\n",
       "  1.064847051056014e-06,\n",
       "  1.1078800851557358e-06,\n",
       "  1.1497767314209863e-06,\n",
       "  1.1930361472235142e-06,\n",
       "  1.233434409906085e-06,\n",
       "  1.2736916908330134e-06,\n",
       "  1.3137379784877043e-06,\n",
       "  1.3542013414196802e-06,\n",
       "  1.3964176050410736e-06,\n",
       "  1.4338289348486509e-06,\n",
       "  1.4752135392026672e-06,\n",
       "  1.5128469004953527e-06,\n",
       "  1.5543815229809865e-06,\n",
       "  1.5938577125123586e-06,\n",
       "  1.6331464420789693e-06,\n",
       "  1.6721632396481865e-06,\n",
       "  1.7125563919827213e-06,\n",
       "  1.7497596515335137e-06,\n",
       "  1.7901443744375586e-06,\n",
       "  1.8296097673231195e-06,\n",
       "  1.8674267018183874e-06,\n",
       "  1.9056802912496663e-06,\n",
       "  1.942716549974726e-06,\n",
       "  1.9795842884573747e-06,\n",
       "  2.0147671072589257e-06,\n",
       "  2.0538942941731723e-06,\n",
       "  2.084812281461715e-06,\n",
       "  2.1229175790680646e-06,\n",
       "  2.1588848695343328e-06,\n",
       "  2.1907773973839926e-06,\n",
       "  2.2270689668310415e-06,\n",
       "  2.2593618443221283e-06,\n",
       "  2.2944927252520706e-06,\n",
       "  2.327986521364437e-06,\n",
       "  2.360327390853805e-06,\n",
       "  2.391957013655836e-06,\n",
       "  2.4253808366971992e-06,\n",
       "  2.457254812856123e-06,\n",
       "  2.485972556129348e-06,\n",
       "  2.51782979369372e-06,\n",
       "  2.548944041386764e-06,\n",
       "  2.578640758775022e-06,\n",
       "  2.6093003461060108e-06,\n",
       "  2.6365499796363053e-06,\n",
       "  2.6690150750932544e-06,\n",
       "  2.699473248958169e-06,\n",
       "  2.7302421602674305e-06,\n",
       "  2.7600745023972187e-06,\n",
       "  2.7888093923728098e-06,\n",
       "  2.8185702352265226e-06,\n",
       "  2.84641344507913e-06,\n",
       "  2.8758927744429573e-06,\n",
       "  2.905092039130736e-06,\n",
       "  2.932191423168135e-06,\n",
       "  2.9610545609214637e-06,\n",
       "  2.990129161838688e-06,\n",
       "  3.0170274596225043e-06,\n",
       "  3.0450746646537073e-06,\n",
       "  3.07030971400521e-06,\n",
       "  3.1002580700179803e-06,\n",
       "  3.128536186718845e-06,\n",
       "  3.154001459532272e-06,\n",
       "  3.1819727277536595e-06,\n",
       "  3.2068203342376984e-06,\n",
       "  3.2321573003168334e-06,\n",
       "  3.259203718856954e-06,\n",
       "  3.285786867903027e-06,\n",
       "  3.3121651592624648e-06,\n",
       "  3.3345716185749257e-06,\n",
       "  3.358173619655572e-06,\n",
       "  3.383372088968783e-06,\n",
       "  3.4087831325739094e-06,\n",
       "  3.4362873585630445e-06,\n",
       "  3.454087747605698e-06,\n",
       "  3.482901432151679e-06,\n",
       "  3.496701895153217e-06,\n",
       "  3.5228696319574575e-06,\n",
       "  3.542204116830916e-06,\n",
       "  3.5646607165135897e-06,\n",
       "  3.582938149944082e-06,\n",
       "  3.6056686229774963e-06,\n",
       "  3.6268560690138284e-06,\n",
       "  3.6467649872492607e-06,\n",
       "  3.6624532413527394e-06,\n",
       "  3.6866548375906765e-06,\n",
       "  3.7069500715147276e-06,\n",
       "  3.7231698912779313e-06,\n",
       "  3.7483346939983017e-06,\n",
       "  3.765029473749717e-06,\n",
       "  3.7856027427230826e-06,\n",
       "  3.8015610738195182e-06,\n",
       "  3.8233838708723785e-06,\n",
       "  3.84003936254707e-06,\n",
       "  3.85939851930947e-06,\n",
       "  3.873231094195772e-06,\n",
       "  3.8927328133791535e-06,\n",
       "  3.910700971240581e-06,\n",
       "  3.928505533712042e-06,\n",
       "  3.945143940375011e-06,\n",
       "  3.962507730921369e-06,\n",
       "  3.9822344719491275e-06,\n",
       "  3.99924705375689e-06,\n",
       "  4.017735569252879e-06,\n",
       "  4.03522055310112e-06,\n",
       "  4.054813761182178e-06,\n",
       "  4.0749312410378944e-06,\n",
       "  4.088706732489733e-06,\n",
       "  4.106755060017915e-06,\n",
       "  4.1239985081088775e-06,\n",
       "  4.140519326936326e-06,\n",
       "  4.157073655096239e-06,\n",
       "  4.174022807999974e-06,\n",
       "  4.189709616161162e-06,\n",
       "  4.204180282487603e-06,\n",
       "  4.218494296589717e-06,\n",
       "  4.235717749397753e-06,\n",
       "  4.252913991032424e-06,\n",
       "  4.266954300015468e-06,\n",
       "  4.2815306319006224e-06,\n",
       "  4.2968490629612125e-06,\n",
       "  4.309930326023131e-06,\n",
       "  4.326357361251061e-06,\n",
       "  4.340948606182698e-06,\n",
       "  4.358231886961288e-06,\n",
       "  4.370065317931456e-06,\n",
       "  4.387632892057461e-06,\n",
       "  4.4042783599528895e-06,\n",
       "  4.415870479154735e-06,\n",
       "  4.432076180049314e-06,\n",
       "  4.449197049740351e-06,\n",
       "  4.464124035769012e-06,\n",
       "  4.482493644147804e-06,\n",
       "  4.498153895041257e-06,\n",
       "  4.5132477502920985e-06,\n",
       "  4.5278631914133956e-06,\n",
       "  4.545281156026338e-06,\n",
       "  4.559747646357176e-06,\n",
       "  4.577708824653883e-06,\n",
       "  4.593887205695698e-06,\n",
       "  4.608531888955241e-06,\n",
       "  4.6251859479653975e-06,\n",
       "  4.642941655279973e-06,\n",
       "  4.658922808730715e-06,\n",
       "  4.673863684671711e-06,\n",
       "  4.691835979191628e-06,\n",
       "  4.978362960056323e-06,\n",
       "  5.293850506835619e-06,\n",
       "  5.633560853315127e-06,\n",
       "  5.992670021411504e-06,\n",
       "  6.372374221213759e-06,\n",
       "  6.76222118525992e-06,\n",
       "  7.165820017958023e-06,\n",
       "  7.574075921096089e-06,\n",
       "  7.991356058937661e-06,\n",
       "  8.41198051921198e-06,\n",
       "  8.840083787161323e-06,\n",
       "  9.27403482143594e-06,\n",
       "  9.700289074256555e-06,\n",
       "  1.0137998650259267e-05,\n",
       "  1.0567894263600087e-05,\n",
       "  1.0994935512399201e-05,\n",
       "  1.1429986609107453e-05,\n",
       "  1.1860071164507314e-05,\n",
       "  1.2039015320024918e-05,\n",
       "  1.2262255351083301e-05,\n",
       "  1.2491045134408199e-05,\n",
       "  1.2754400350308794e-05,\n",
       "  1.3025269674440029e-05,\n",
       "  1.332204056687126e-05,\n",
       "  1.3636981986898719e-05,\n",
       "  1.3966096797559153e-05,\n",
       "  1.4309381498887913e-05,\n",
       "  1.4661925351662389e-05,\n",
       "  1.5027179372188276e-05,\n",
       "  1.5402750036546813e-05,\n",
       "  1.5786295246316982e-05,\n",
       "  1.6177730184807452e-05,\n",
       "  1.6579878170507366e-05,\n",
       "  1.673813887217547e-05,\n",
       "  1.6915412108768013e-05,\n",
       "  1.71069722209017e-05,\n",
       "  1.7177581360381966e-05,\n",
       "  1.7265666774268396e-05,\n",
       "  1.7371472320965678e-05,\n",
       "  1.7486801391466813e-05,\n",
       "  1.7618151647274937e-05,\n",
       "  1.7755488846844757e-05,\n",
       "  1.7910305184417186e-05,\n",
       "  1.8077628200717187e-05,\n",
       "  1.825599300102259e-05,\n",
       "  1.8440544604487503e-05,\n",
       "  1.8626897727635276e-05,\n",
       "  1.8823500008283952e-05,\n",
       "  1.9037951975414793e-05,\n",
       "  1.9244666572136633e-05,\n",
       "  1.9096924176067083e-05,\n",
       "  1.893743186459638e-05,\n",
       "  1.8794351861323298e-05,\n",
       "  1.8631994177097873e-05,\n",
       "  1.8482891126292624e-05,\n",
       "  1.8339846770978058e-05,\n",
       "  1.818354806857909e-05,\n",
       "  1.8033142246495658e-05,\n",
       "  1.7876860437144355e-05,\n",
       "  1.7738887271814697e-05,\n",
       "  1.7587481601387848e-05,\n",
       "  1.744517373899857e-05,\n",
       "  1.7303517559509817e-05,\n",
       "  1.715962184735082e-05,\n",
       "  1.702648859853573e-05,\n",
       "  1.6879484116796898e-05,\n",
       "  1.674313941397526e-05,\n",
       "  1.661472077709342e-05,\n",
       "  1.6472209573506164e-05,\n",
       "  1.633231915706284e-05,\n",
       "  1.6199656717513573e-05,\n",
       "  1.6069594106289583e-05,\n",
       "  1.594032112509908e-05,\n",
       "  1.5811604390229238e-05,\n",
       "  1.5682056303407012e-05,\n",
       "  1.5555466705933475e-05,\n",
       "  1.544119082996287e-05,\n",
       "  1.5310453869148056e-05,\n",
       "  1.5189012462360953e-05,\n",
       "  1.5066599418445461e-05,\n",
       "  1.4944764532212982e-05,\n",
       "  1.4827384878757856e-05,\n",
       "  1.4709013017469282e-05,\n",
       "  1.4592807850229824e-05,\n",
       "  1.4481434940587563e-05,\n",
       "  1.435666521847527e-05,\n",
       "  1.4240100178969701e-05,\n",
       "  1.4129967993622158e-05,\n",
       "  1.4004905583404978e-05,\n",
       "  1.3891034717787814e-05,\n",
       "  1.3778792080181823e-05,\n",
       "  1.3670400856474041e-05,\n",
       "  1.3555789959397051e-05,\n",
       "  1.3449712819248072e-05,\n",
       "  1.3338581214232328e-05,\n",
       "  1.3241069615252206e-05,\n",
       "  1.312935579381544e-05,\n",
       "  1.3026441251287498e-05,\n",
       "  1.2917442809487152e-05,\n",
       "  1.2816668595786932e-05,\n",
       "  1.2708946166431471e-05,\n",
       "  1.2605872613858852e-05,\n",
       "  1.2502134365455617e-05,\n",
       "  1.241192160170819e-05,\n",
       "  1.2305798366662236e-05,\n",
       "  1.2207651719546573e-05,\n",
       "  1.2105588616742479e-05,\n",
       "  1.2010648895062793e-05,\n",
       "  1.1921367714071318e-05,\n",
       "  1.1836866851474977e-05,\n",
       "  1.1736125115849048e-05,\n",
       "  1.1646489406863658e-05,\n",
       "  1.154740504677298e-05,\n",
       "  1.1458290968601644e-05,\n",
       "  1.1386660365262943e-05,\n",
       "  1.1297631383345707e-05,\n",
       "  1.1212172104937529e-05,\n",
       "  1.1122189978938691e-05,\n",
       "  1.1047710427613899e-05,\n",
       "  1.0963149231352273e-05,\n",
       "  1.0893041811131187e-05,\n",
       "  1.0809218018360675e-05,\n",
       "  1.0723907574083915e-05,\n",
       "  1.0645803832227779e-05,\n",
       "  1.0579373303895754e-05,\n",
       "  1.0499727643652907e-05,\n",
       "  1.0425808319756623e-05,\n",
       "  1.0358051491773666e-05,\n",
       "  1.0285160701923506e-05,\n",
       "  1.0212827681433031e-05,\n",
       "  1.0147092343555667e-05,\n",
       "  1.0080053889441778e-05,\n",
       "  1.002185944256767e-05,\n",
       "  9.95468777070435e-06,\n",
       "  9.884597498273625e-06,\n",
       "  9.822275821552515e-06,\n",
       "  9.755770412556023e-06,\n",
       "  9.69780849308465e-06,\n",
       "  9.635628258068077e-06,\n",
       "  9.577113436974136e-06,\n",
       "  9.519009080468e-06,\n",
       "  9.465165250667505e-06,\n",
       "  9.399617313098806e-06,\n",
       "  9.340494398525007e-06,\n",
       "  9.285763250218703e-06,\n",
       "  9.22751530965703e-06,\n",
       "  9.176683799862712e-06,\n",
       "  9.122681548234714e-06,\n",
       "  9.065399125952714e-06,\n",
       "  9.006326006531654e-06,\n",
       "  8.952833779353834e-06,\n",
       "  8.908338869778495e-06,\n",
       "  8.85062085885155e-06,\n",
       "  8.799585115533158e-06,\n",
       "  8.747464488271431e-06,\n",
       "  8.702940434457785e-06,\n",
       "  8.650255500337716e-06,\n",
       "  8.603119078887108e-06,\n",
       "  8.560466587715085e-06,\n",
       "  8.509523907126088e-06,\n",
       "  8.460749777502546e-06,\n",
       "  8.423755072219145e-06,\n",
       "  8.381474326033444e-06,\n",
       "  8.345390710388842e-06,\n",
       "  8.31060453913442e-06,\n",
       "  8.275148250898482e-06,\n",
       "  8.237777157022991e-06,\n",
       "  8.200591648000177e-06,\n",
       "  8.164896225242208e-06,\n",
       "  8.12604410316882e-06,\n",
       "  8.096789307355947e-06,\n",
       "  8.060226798694827e-06,\n",
       "  8.026671162564846e-06,\n",
       "  7.99794082274671e-06,\n",
       "  7.966198738499549e-06,\n",
       "  7.938574247883012e-06,\n",
       "  7.903776182922428e-06,\n",
       "  7.8774162470805e-06,\n",
       "  7.851814620133e-06,\n",
       "  7.816596518719073e-06,\n",
       "  7.793424586497027e-06,\n",
       "  7.77019992465577e-06,\n",
       "  7.747115500346384e-06,\n",
       "  7.715952669213067e-06,\n",
       "  7.694268637103965e-06,\n",
       "  7.669473021833663e-06,\n",
       "  7.65074278114143e-06,\n",
       "  7.627294299120323e-06,\n",
       "  7.598167448009431e-06,\n",
       "  7.584644816102028e-06,\n",
       "  7.565494388341086e-06,\n",
       "  7.550085855011343e-06,\n",
       "  7.530690087179503e-06,\n",
       "  7.513262613089974e-06,\n",
       "  7.494347445172003e-06,\n",
       "  7.469950958545575e-06,\n",
       "  7.449769638167155e-06,\n",
       "  7.438176931417613e-06,\n",
       "  7.422901193225775e-06,\n",
       "  7.4068180947412645e-06,\n",
       "  7.391706536951749e-06,\n",
       "  7.374641492606161e-06,\n",
       "  7.349758765395821e-06,\n",
       "  7.337768890984241e-06,\n",
       "  7.3312041025062445e-06,\n",
       "  7.3176168523891165e-06,\n",
       "  7.289184850318586e-06,\n",
       "  7.282030113167964e-06,\n",
       "  7.2763865029327585e-06,\n",
       "  7.25766518642697e-06,\n",
       "  7.255511268892733e-06,\n",
       "  7.253496567660227e-06,\n",
       "  7.2317890997333225e-06,\n",
       "  7.220455968191885e-06,\n",
       "  7.2168939966058404e-06,\n",
       "  7.194063746079971e-06,\n",
       "  7.195635056105317e-06,\n",
       "  7.1915705084291485e-06,\n",
       "  7.178857026946061e-06,\n",
       "  7.175566465195809e-06,\n",
       "  7.1545942079778215e-06,\n",
       "  7.153400327314563e-06,\n",
       "  7.154017933552758e-06,\n",
       "  7.1654300982146896e-06,\n",
       "  7.153510023915174e-06,\n",
       "  7.156508807555067e-06,\n",
       "  7.161414548788771e-06,\n",
       "  7.165031595894654e-06,\n",
       "  7.16451359752546e-06,\n",
       "  7.159869545623936e-06,\n",
       "  7.154245309801634e-06,\n",
       "  7.1567094154766665e-06,\n",
       "  7.158482147764378e-06,\n",
       "  7.15578158952782e-06,\n",
       "  7.163031795752841e-06,\n",
       "  7.153298912461708e-06,\n",
       "  7.164991536714829e-06,\n",
       "  7.15343607460201e-06,\n",
       "  7.163164659574745e-06,\n",
       "  7.179135785561018e-06,\n",
       "  7.172776226575239e-06,\n",
       "  7.179736235493578e-06,\n",
       "  7.190130301387446e-06,\n",
       "  7.184137015439882e-06,\n",
       "  7.204042078701801e-06,\n",
       "  7.211866749422798e-06,\n",
       "  7.209599418310653e-06,\n",
       "  7.2304791027602284e-06,\n",
       "  7.2276959740301275e-06,\n",
       "  7.244576472828884e-06,\n",
       "  7.260941394359726e-06,\n",
       "  7.258766651801971e-06,\n",
       "  7.271999695304498e-06,\n",
       "  7.268157657031875e-06,\n",
       "  7.282737844772907e-06,\n",
       "  7.29583887695727e-06,\n",
       "  7.3105543997652394e-06,\n",
       "  7.31583854100267e-06,\n",
       "  7.328570688103833e-06,\n",
       "  7.343922606857292e-06,\n",
       "  7.355275645337586e-06,\n",
       "  7.365665964182593e-06,\n",
       "  7.380191579493168e-06,\n",
       "  7.400714378703048e-06,\n",
       "  7.409395963584336e-06,\n",
       "  7.4215409373118205e-06,\n",
       "  7.438661083507015e-06,\n",
       "  7.4475181826540885e-06,\n",
       "  7.448225696284563e-06,\n",
       "  7.467635923540234e-06,\n",
       "  7.485145877728781e-06,\n",
       "  7.503538752442208e-06,\n",
       "  7.5287262827750375e-06,\n",
       "  7.533071287778649e-06,\n",
       "  7.556587681895403e-06,\n",
       "  7.566144462538382e-06,\n",
       "  7.591107933679398e-06,\n",
       "  7.60674653853513e-06,\n",
       "  7.632286034552896e-06,\n",
       "  7.659351304372995e-06,\n",
       "  7.677023609234032e-06,\n",
       "  7.694301673822414e-06,\n",
       "  7.713433712449397e-06,\n",
       "  7.748436147017373e-06,\n",
       "  7.761669679825714e-06,\n",
       "  7.790550995731924e-06,\n",
       "  7.811350634389352e-06,\n",
       "  7.834218342374532e-06,\n",
       "  7.847481283613172e-06,\n",
       "  7.868999978271413e-06,\n",
       "  7.892159919008583e-06,\n",
       "  7.909826782305679e-06,\n",
       "  7.92603128210688e-06,\n",
       "  7.943722246845367e-06,\n",
       "  7.964631862992108e-06,\n",
       "  7.987221404836152e-06,\n",
       "  8.007157763506702e-06,\n",
       "  8.033729162633033e-06,\n",
       "  8.04110732089022e-06,\n",
       "  8.06195982059779e-06,\n",
       "  8.08440357626839e-06,\n",
       "  8.112310911065881e-06,\n",
       "  8.127058977592863e-06,\n",
       "  8.152337283650803e-06,\n",
       "  8.17825637265132e-06,\n",
       "  8.204455425261454e-06,\n",
       "  8.225839904416497e-06,\n",
       "  8.253538475512738e-06,\n",
       "  8.278585109414759e-06,\n",
       "  8.302517151009155e-06,\n",
       "  8.327689767272283e-06,\n",
       "  8.359201378583782e-06,\n",
       "  8.384476713698979e-06,\n",
       "  8.409322153045455e-06,\n",
       "  8.43893004867197e-06,\n",
       "  8.471928957205463e-06,\n",
       "  8.493548184469877e-06,\n",
       "  8.523128823416306e-06,\n",
       "  8.541837618778206e-06,\n",
       "  8.57348667493179e-06,\n",
       "  8.594629001374357e-06,\n",
       "  8.618947013430534e-06,\n",
       "  8.635704356721533e-06,\n",
       "  8.674469943486747e-06,\n",
       "  8.700707120355354e-06,\n",
       "  8.727663881931518e-06,\n",
       "  8.754744285871437e-06,\n",
       "  8.768581798946298e-06,\n",
       "  8.788277302902979e-06,\n",
       "  8.808151612882758e-06,\n",
       "  8.83479192592032e-06,\n",
       "  8.861572353152583e-06,\n",
       "  8.872592370844973e-06,\n",
       "  8.902666194806569e-06,\n",
       "  8.92757079219067e-06,\n",
       "  8.950081371708319e-06,\n",
       "  8.969205930702385e-06,\n",
       "  8.992295682826864e-06,\n",
       "  9.020400761197614e-06,\n",
       "  9.035210084671768e-06,\n",
       "  9.050134924742336e-06,\n",
       "  9.069305425356048e-06,\n",
       "  9.095483972660622e-06,\n",
       "  9.119296031804373e-06,\n",
       "  9.144694736166925e-06,\n",
       "  9.168256285484364e-06,\n",
       "  9.186502240906883e-06,\n",
       "  9.213141572675034e-06,\n",
       "  9.23398312734192e-06,\n",
       "  9.27046295450984e-06,\n",
       "  9.294260871459045e-06,\n",
       "  9.312531248153365e-06,\n",
       "  9.334601327420711e-06,\n",
       "  9.357983290494136e-06,\n",
       "  9.386374477197222e-06,\n",
       "  9.409567600096392e-06,\n",
       "  9.441447242018785e-06,\n",
       "  9.467517741547967e-06,\n",
       "  9.494703859540767e-06,\n",
       "  9.513441080246385e-06,\n",
       "  9.548819258304704e-06,\n",
       "  9.564586268487535e-06,\n",
       "  9.584558829132828e-06,\n",
       "  9.621456239039244e-06,\n",
       "  9.641624665820806e-06,\n",
       "  9.669156419392926e-06,\n",
       "  9.69237453124398e-06,\n",
       "  9.701878902267956e-06,\n",
       "  9.728650346602659e-06,\n",
       "  9.75318253133137e-06,\n",
       "  9.789011631897321e-06,\n",
       "  9.809904413783447e-06,\n",
       "  9.833312380214803e-06,\n",
       "  9.876028610441481e-06,\n",
       "  9.899095815847196e-06,\n",
       "  9.918658621291044e-06,\n",
       "  9.93557392004303e-06,\n",
       "  9.9625296774023e-06,\n",
       "  9.979312702083173e-06,\n",
       "  1.0007563424715397e-05,\n",
       "  1.002955601218186e-05,\n",
       "  1.0057322174698356e-05,\n",
       "  1.0072226154341088e-05,\n",
       "  1.0081624917184505e-05,\n",
       "  1.0098847267582298e-05,\n",
       "  1.0117731548800181e-05,\n",
       "  1.014536569508315e-05,\n",
       "  1.0163199907306531e-05,\n",
       "  1.0181164965584691e-05,\n",
       "  1.0199894325602862e-05,\n",
       "  1.0217177883786706e-05,\n",
       "  1.0245910542857912e-05,\n",
       "  1.0269494500555752e-05,\n",
       "  1.0290737676408891e-05,\n",
       "  1.0305012091426136e-05,\n",
       "  1.0325969973978462e-05,\n",
       "  1.0345636632713245e-05,\n",
       "  1.0365198136926813e-05,\n",
       "  1.0386784990411224e-05,\n",
       "  1.0402869538808844e-05,\n",
       "  1.0427582925772031e-05,\n",
       "  1.0451822331191289e-05,\n",
       "  1.04653731574356e-05,\n",
       "  1.0486442153317097e-05,\n",
       "  1.0518620877989715e-05,\n",
       "  1.0536136557216593e-05,\n",
       "  1.0555287408824541e-05,\n",
       "  1.058509830738939e-05,\n",
       "  1.0604719650946596e-05,\n",
       "  1.062729506809627e-05,\n",
       "  1.065693655936617e-05,\n",
       "  1.0677840583909968e-05,\n",
       "  1.0696472947054516e-05,\n",
       "  1.0716771497887667e-05,\n",
       "  1.0741661618527093e-05,\n",
       "  1.0754186188077314e-05,\n",
       "  1.0790569197339142e-05,\n",
       "  1.0806780488057472e-05,\n",
       "  1.08332131621591e-05,\n",
       "  1.0845785342529058e-05,\n",
       "  1.0866049324267505e-05,\n",
       "  1.0889110390808133e-05,\n",
       "  1.090052657626103e-05,\n",
       "  1.0934801982293286e-05,\n",
       "  1.0952994150988892e-05,\n",
       "  1.0982478179546585e-05,\n",
       "  1.1003463186897082e-05,\n",
       "  1.10297848279213e-05,\n",
       "  1.1047333640652969e-05,\n",
       "  1.1073939001415667e-05,\n",
       "  1.1094215187864761e-05,\n",
       "  1.1123964215837607e-05,\n",
       "  1.1142640311360336e-05,\n",
       "  1.1159139841564036e-05,\n",
       "  1.1178316732171222e-05,\n",
       "  1.1197426499336288e-05,\n",
       "  1.1214824686158574e-05,\n",
       "  1.123811666220363e-05,\n",
       "  1.126463497191864e-05,\n",
       "  1.128460464634767e-05,\n",
       "  1.1307340698933723e-05,\n",
       "  1.1331653925333329e-05,\n",
       "  1.135171595036209e-05,\n",
       "  1.1375550050536003e-05,\n",
       "  1.1394884265611837e-05,\n",
       "  1.1414390366262018e-05,\n",
       "  1.1437583016367459e-05,\n",
       "  1.1471301405419948e-05,\n",
       "  1.1487801985417744e-05,\n",
       "  1.1499933639926993e-05,\n",
       "  1.1522089157603908e-05,\n",
       "  1.1543866162258575e-05,\n",
       "  1.1569978116887239e-05,\n",
       "  1.1591621698858247e-05,\n",
       "  1.161467171341135e-05,\n",
       "  1.1639255067147011e-05,\n",
       "  1.1669804381461278e-05,\n",
       "  1.1692560412265046e-05,\n",
       "  1.171926148525975e-05,\n",
       "  1.1730413906194088e-05,\n",
       "  1.1751776699549542e-05,\n",
       "  1.1773164843403199e-05,\n",
       "  1.1790385997917175e-05,\n",
       "  1.18030376908755e-05,\n",
       "  1.1824918961147962e-05,\n",
       "  1.1845217123941848e-05,\n",
       "  1.1863566802802411e-05,\n",
       "  1.1880269512276754e-05,\n",
       "  1.1900363577392242e-05,\n",
       "  1.1909413932061425e-05,\n",
       "  1.191757816394993e-05,\n",
       "  1.1927301015023816e-05,\n",
       "  1.1948325165402526e-05,\n",
       "  1.1950905989809364e-05,\n",
       "  1.1973988267292849e-05,\n",
       "  1.1983305642799576e-05,\n",
       "  1.198575871822307e-05,\n",
       "  1.2006723551427322e-05,\n",
       "  1.2019274177570809e-05,\n",
       "  1.204092301331004e-05,\n",
       "  1.2054707852054607e-05,\n",
       "  1.207572977330661e-05,\n",
       "  1.2090516823250967e-05,\n",
       "  1.2108388687910666e-05,\n",
       "  1.2130434287792986e-05,\n",
       "  1.2152825289897213e-05,\n",
       "  1.217400914432881e-05,\n",
       "  1.2190796140673268e-05,\n",
       "  1.2211870196010694e-05,\n",
       "  1.2231767553715324e-05,\n",
       "  1.2246526851165556e-05,\n",
       "  1.226450972147703e-05,\n",
       "  1.2275965399809328e-05,\n",
       "  1.228778970827334e-05,\n",
       "  1.2303315057023443e-05,\n",
       "  1.2318152543327631e-05,\n",
       "  1.2341449095051673e-05,\n",
       "  1.2340627671488177e-05,\n",
       "  1.2353011118164605e-05,\n",
       "  1.2366684263048309e-05,\n",
       "  1.2384812965511574e-05,\n",
       "  1.240166414753168e-05,\n",
       "  1.242107298512549e-05,\n",
       "  1.2433898611704329e-05,\n",
       "  1.2453242171440335e-05,\n",
       "  1.2458152509573804e-05,\n",
       "  1.2474876780525476e-05,\n",
       "  1.2490775214214862e-05,\n",
       "  1.2500232900552314e-05,\n",
       "  1.2514953209087546e-05,\n",
       "  1.2524770197061043e-05,\n",
       "  1.2536427863510065e-05,\n",
       "  1.2547792866951608e-05,\n",
       "  1.2563575410939909e-05,\n",
       "  1.257111722565972e-05,\n",
       "  1.2587277221091545e-05,\n",
       "  1.26019730020585e-05,\n",
       "  1.260820796975776e-05,\n",
       "  1.2611521951291658e-05,\n",
       "  1.262318127914678e-05,\n",
       "  1.2636884835364144e-05,\n",
       "  1.2647194159601638e-05,\n",
       "  1.265671187601851e-05,\n",
       "  1.2668698956160572e-05,\n",
       "  1.268406107047626e-05,\n",
       "  1.2690962325850212e-05,\n",
       "  1.2702035676062673e-05,\n",
       "  1.2721260357951343e-05,\n",
       "  1.2733778354797376e-05,\n",
       "  1.2745469179936182e-05,\n",
       "  1.2752946683370802e-05,\n",
       "  1.2761512601228219e-05,\n",
       "  1.2774757934295328e-05,\n",
       "  1.2780151614381163e-05,\n",
       "  1.2791400582039299e-05,\n",
       "  1.2803931875862723e-05,\n",
       "  1.2815137877262755e-05,\n",
       "  1.281967394462808e-05,\n",
       "  1.2829617704889182e-05,\n",
       "  1.2838125803641101e-05,\n",
       "  1.2845762768424513e-05,\n",
       "  1.2857943348543414e-05,\n",
       "  1.28713654502185e-05,\n",
       "  1.287674409849763e-05,\n",
       "  1.2887291496803753e-05,\n",
       "  1.2898777959055675e-05,\n",
       "  1.2907773756944693e-05,\n",
       "  1.2916893064253506e-05,\n",
       "  1.2933516536965965e-05,\n",
       "  1.2942105797383506e-05,\n",
       "  1.2942844222350997e-05,\n",
       "  1.295292179896432e-05,\n",
       "  1.2959472423295835e-05,\n",
       "  1.2967840047734553e-05,\n",
       "  1.2972681776879271e-05,\n",
       "  1.2976644110792927e-05,\n",
       "  1.2992685820668123e-05,\n",
       "  1.30030342593949e-05,\n",
       "  1.3008266196208512e-05,\n",
       "  1.3009644670464396e-05,\n",
       "  1.3015893740195067e-05,\n",
       "  1.302722860666777e-05,\n",
       "  1.3038212015550549e-05,\n",
       "  1.3045701339723188e-05,\n",
       "  1.3054323385490048e-05,\n",
       "  1.3062472090429741e-05,\n",
       "  1.3071729211348722e-05,\n",
       "  1.307269492411359e-05,\n",
       "  1.3071814196540491e-05,\n",
       "  1.3073961940793183e-05,\n",
       "  1.3081943634820984e-05,\n",
       "  1.309154661048785e-05,\n",
       "  1.3089593435819793e-05,\n",
       "  1.3095378276835338e-05,\n",
       "  1.3095777316396723e-05,\n",
       "  1.3104128396376613e-05,\n",
       "  1.3110637190227207e-05,\n",
       "  1.3117318138621355e-05,\n",
       "  1.3125515015988705e-05,\n",
       "  1.3130211990456301e-05,\n",
       "  1.3132212735198112e-05,\n",
       "  1.3142000130512856e-05,\n",
       "  1.315024565504148e-05,\n",
       "  1.315055732681032e-05,\n",
       "  1.3154299522973708e-05,\n",
       "  1.3154125814976841e-05,\n",
       "  1.3174604504709054e-05,\n",
       "  1.3182986880416573e-05,\n",
       "  1.3186109450777918e-05,\n",
       "  1.3190534553010059e-05,\n",
       "  1.319261262879445e-05,\n",
       "  1.3191503659755413e-05,\n",
       "  1.3194360323316483e-05,\n",
       "  1.3195502291546523e-05,\n",
       "  1.3198966701282327e-05,\n",
       "  1.3203154833303716e-05,\n",
       "  1.3211326588060944e-05,\n",
       "  1.321282404147651e-05,\n",
       "  1.3211240135894384e-05,\n",
       "  1.3211566361381907e-05,\n",
       "  1.3221541618778421e-05,\n",
       "  1.3225716783791997e-05,\n",
       "  1.3233104539100426e-05,\n",
       "  1.3237557300318424e-05,\n",
       "  1.3240323515459002e-05,\n",
       "  1.3240722563143486e-05,\n",
       "  1.324754742466704e-05,\n",
       "  1.3255125879862602e-05,\n",
       "  1.3254078727456427e-05,\n",
       "  1.3259862619074264e-05,\n",
       "  1.3266159896568128e-05,\n",
       "  1.3273443352894587e-05,\n",
       "  1.3282052521470094e-05,\n",
       "  1.3284962941919145e-05,\n",
       "  1.3293136628122498e-05,\n",
       "  1.3300122041642373e-05,\n",
       "  1.330440881422322e-05,\n",
       "  1.331246407382549e-05,\n",
       "  1.332189049847719e-05,\n",
       "  1.3331849573358038e-05,\n",
       "  1.3331087233938843e-05,\n",
       "  1.334359180374292e-05,\n",
       "  1.3349751923984847e-05,\n",
       "  1.3349916716379141e-05,\n",
       "  1.3363332861232515e-05,\n",
       "  1.3366757651567734e-05,\n",
       "  1.3373179074669998e-05,\n",
       "  1.3377889323442537e-05,\n",
       "  1.3388957730302387e-05,\n",
       "  1.3389561825104895e-05,\n",
       "  1.3389305941984698e-05,\n",
       "  1.3393677611123969e-05,\n",
       "  1.340010181852354e-05,\n",
       "  1.3407096335284922e-05,\n",
       "  1.3420028482314157e-05,\n",
       "  1.3432240379732982e-05,\n",
       "  1.3433769327511732e-05,\n",
       "  1.3439806366749374e-05,\n",
       "  1.344965026622509e-05,\n",
       "  1.3452265151714801e-05,\n",
       "  1.3458716678315281e-05,\n",
       "  1.3470096574911418e-05,\n",
       "  1.3467213017452302e-05,\n",
       "  1.3480297949436072e-05,\n",
       "  1.3482459753752815e-05,\n",
       "  1.3485509415012245e-05,\n",
       "  1.3495260541921923e-05,\n",
       "  1.3502197270088857e-05,\n",
       "  1.3512638088768308e-05,\n",
       "  1.351700171963192e-05,\n",
       "  1.351770919690001e-05,\n",
       "  1.3529195973309578e-05,\n",
       "  1.3533791574063637e-05,\n",
       "  1.354044217865242e-05,\n",
       "  1.3544856842468621e-05,\n",
       "  1.3549066049781886e-05,\n",
       "  1.3552599401008611e-05,\n",
       "  1.3564634284031738e-05,\n",
       "  1.3567937850302746e-05,\n",
       "  1.3574735618386205e-05,\n",
       "  1.3572596954933812e-05,\n",
       "  1.3581053783550485e-05,\n",
       "  1.3579139774681031e-05,\n",
       "  1.3594520971528945e-05,\n",
       "  1.3600356807460665e-05,\n",
       "  1.3607587781614724e-05,\n",
       "  1.3605437172573828e-05,\n",
       "  1.3606507739756031e-05,\n",
       "  1.3611495319693226e-05,\n",
       "  1.3616186983839675e-05,\n",
       "  1.3617892910284792e-05,\n",
       "  1.3621778831875212e-05,\n",
       "  1.361480785707059e-05,\n",
       "  1.3613498500271249e-05,\n",
       "  1.361260934233012e-05,\n",
       "  1.3618056509908861e-05,\n",
       "  1.3610660254957982e-05,\n",
       "  1.3617284897553174e-05,\n",
       "  1.3618352457775906e-05,\n",
       "  1.3615087594668179e-05,\n",
       "  1.362198642884713e-05,\n",
       "  1.3627722239813938e-05,\n",
       "  1.3629718963845237e-05,\n",
       "  1.3640482503411633e-05,\n",
       "  1.3642936792063388e-05,\n",
       "  1.363586100501645e-05,\n",
       "  1.3642996228610986e-05,\n",
       "  1.3643577981263923e-05,\n",
       "  1.3653243133886982e-05,\n",
       "  1.3651832281351664e-05,\n",
       "  1.3650648304587046e-05,\n",
       "  1.3653908794454566e-05,\n",
       "  1.3658650080063211e-05,\n",
       "  1.366393039056564e-05,\n",
       "  1.3670094630271206e-05,\n",
       "  1.3679560567814266e-05,\n",
       "  1.368253707271842e-05,\n",
       "  1.3679952569030628e-05,\n",
       "  1.3687054316212275e-05,\n",
       "  1.3680898608852535e-05,\n",
       "  1.3688776571992922e-05,\n",
       "  1.3694872066876175e-05,\n",
       "  1.3701304898523294e-05,\n",
       "  1.37049055228931e-05,\n",
       "  1.3703391279598488e-05,\n",
       "  1.3711301687401822e-05,\n",
       "  1.3713671055080497e-05,\n",
       "  1.3719681309507375e-05,\n",
       "  1.3719540217394054e-05,\n",
       "  1.3727951243080955e-05,\n",
       "  1.3737536729823176e-05,\n",
       "  1.374645009888032e-05,\n",
       "  1.3755774056955022e-05,\n",
       "  1.3745795098395505e-05,\n",
       "  1.3742863530199884e-05,\n",
       "  1.373921752621532e-05,\n",
       "  1.3751895205297318e-05,\n",
       "  1.3749403824363268e-05,\n",
       "  1.3756553856775379e-05,\n",
       "  1.376015453050163e-05,\n",
       "  1.37684978566417e-05,\n",
       "  1.376814695007754e-05,\n",
       "  1.3770051982298542e-05,\n",
       "  1.377107082936767e-05,\n",
       "  1.3774092936298103e-05,\n",
       "  1.3789333413906987e-05,\n",
       "  1.378690225734667e-05,\n",
       "  1.379478065374735e-05,\n",
       "  1.3797095642171383e-05,\n",
       "  1.3805239477521103e-05,\n",
       "  1.3800668592938192e-05,\n",
       "  1.3806489600862334e-05,\n",
       "  1.3814592195845034e-05,\n",
       "  1.381423611182278e-05,\n",
       "  1.3823573928627113e-05,\n",
       "  1.3826816416351903e-05,\n",
       "  1.38308769336514e-05,\n",
       "  1.3831406899088213e-05,\n",
       "  1.3839827058126292e-05,\n",
       "  1.384736399918355e-05,\n",
       "  1.3843878654694079e-05,\n",
       "  1.3843566521739994e-05,\n",
       "  1.3843766952478573e-05,\n",
       "  1.3839066747347394e-05,\n",
       "  1.3844751395453328e-05,\n",
       "  1.3850554949847334e-05,\n",
       "  1.3859814427582966e-05,\n",
       "  1.386284434502463e-05,\n",
       "  1.3861890079058592e-05,\n",
       "  1.387030599712765e-05,\n",
       "  1.387620293968235e-05,\n",
       "  1.3872460072639931e-05,\n",
       "  1.387964147487662e-05,\n",
       "  1.3881840288874702e-05,\n",
       "  1.388240803495586e-05,\n",
       "  1.388150789974181e-05,\n",
       "  1.3885050238016685e-05,\n",
       "  1.3886311804533572e-05,\n",
       "  1.3886797853839769e-05,\n",
       "  1.38906482553945e-05,\n",
       "  1.3897904405155395e-05,\n",
       "  1.391477431187345e-05,\n",
       "  1.3914817375747431e-05,\n",
       "  1.39145144310763e-05,\n",
       "  1.3917415103906932e-05,\n",
       "  1.3914911226468995e-05,\n",
       "  1.3917923107005773e-05,\n",
       "  1.3927928167235006e-05,\n",
       "  1.3927002822134095e-05,\n",
       "  1.3932118628927307e-05,\n",
       "  1.3929574013834225e-05,\n",
       "  1.3937242448771863e-05,\n",
       "  1.3935134487087505e-05,\n",
       "  1.393712164871758e-05,\n",
       "  1.3947618454683232e-05,\n",
       "  1.3945632849973812e-05,\n",
       "  1.3952865762288948e-05,\n",
       "  1.3952538711776461e-05,\n",
       "  1.3954202241412135e-05,\n",
       "  1.395912186252594e-05,\n",
       "  1.3968968149336402e-05,\n",
       "  1.3971302113966506e-05,\n",
       "  1.3973388540709257e-05,\n",
       "  1.3976331663014208e-05,\n",
       "  1.3979205317281005e-05,\n",
       "  1.3983860124300461e-05,\n",
       "  1.3985961231559942e-05,\n",
       "  1.399903103906395e-05,\n",
       "  1.3998165432084358e-05,\n",
       "  1.4001836918668711e-05,\n",
       "  1.4009432342624317e-05,\n",
       "  1.4006587692788814e-05,\n",
       "  1.4011310024264134e-05,\n",
       "  1.4016458608791248e-05,\n",
       "  1.4018207476586122e-05,\n",
       "  1.4015956064800715e-05,\n",
       "  1.4020740167623775e-05,\n",
       "  1.40206491210546e-05,\n",
       "  1.4025990773638954e-05,\n",
       "  1.402636204823016e-05,\n",
       "  1.4033442706183042e-05,\n",
       "  1.4029156669991378e-05,\n",
       "  1.402748942100151e-05,\n",
       "  1.4029157975098698e-05,\n",
       "  1.4021115169237721e-05,\n",
       "  1.4020696123485838e-05,\n",
       "  1.4020984390130812e-05,\n",
       "  1.402750581416133e-05,\n",
       "  1.4031879749324713e-05,\n",
       "  1.4030005217089186e-05,\n",
       "  1.4031703964715495e-05,\n",
       "  1.4036594709637097e-05,\n",
       "  1.4032993367950176e-05,\n",
       "  1.4036465303007737e-05,\n",
       "  1.4036041601145696e-05,\n",
       "  1.4034178854525287e-05,\n",
       "  1.403333327850125e-05,\n",
       "  1.4036787907817977e-05,\n",
       "  1.4032993843725485e-05,\n",
       "  1.4025424815946826e-05,\n",
       "  1.4022731033949684e-05,\n",
       "  1.4019386028353845e-05,\n",
       "  1.4024200274652499e-05,\n",
       "  1.4017168510894118e-05,\n",
       "  1.4023632272249459e-05,\n",
       "  1.4028155110289391e-05,\n",
       "  1.402799165658e-05,\n",
       "  1.40301540287528e-05,\n",
       "  1.4041998833690672e-05,\n",
       "  1.4043384266982426e-05,\n",
       "  1.4043211807354248e-05,\n",
       "  1.4042650631451571e-05,\n",
       "  1.4037681732085402e-05,\n",
       "  1.4045916441504058e-05,\n",
       "  ...]}"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "lgb.cv(params, tratest_dset, early_stopping_rounds=200, nfold=nfold, num_boost_round=10000, verbose_eval=100)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "skf = StratifiedKFold(n_splits=nfold)\n",
    "skf.get_n_splits(train_test_x2[:200000, :], train_y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [],
   "source": [
    "train_idx_list = []\n",
    "valid_idx_list = []\n",
    "for train_index, test_index in skf.split(train_test_x2[:200000, :], train_y):\n",
    "    train_idx_list.append(train_index)\n",
    "    valid_idx_list.append(test_index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "i =  0\n",
      "i =  1\n",
      "i =  2\n",
      "i =  3\n",
      "i =  4\n"
     ]
    }
   ],
   "source": [
    "clf_list = []\n",
    "oof_pred = np.zeros((200000, 200))\n",
    "tes_pred = np.zeros((100000, 200, nfold))\n",
    "\n",
    "for i in range(nfold):\n",
    "    \n",
    "    trn_idx = train_idx_list[i]\n",
    "    val_idx = valid_idx_list[i]\n",
    "\n",
    "    tra_X = np.concatenate([\n",
    "        np.concatenate([\n",
    "            train_test_x2[trn_idx, 5*cnum:5*cnum+5], \n",
    "            np.ones((trn_idx.shape[0], 1)).astype(\"int\")*cnum\n",
    "        ], axis=1) for cnum in range(200)], axis=0\n",
    "    )\n",
    "    tra_y = np.concatenate([y_train[trn_idx] for cnum in range(200)], axis=0)\n",
    "\n",
    "    val_X = np.concatenate([\n",
    "        np.concatenate([\n",
    "            train_test_x2[val_idx, 5*cnum:5*cnum+5], \n",
    "            np.ones((val_idx.shape[0], 1)).astype(\"int\")*cnum\n",
    "        ], axis=1) for cnum in range(200)], axis=0\n",
    "    )\n",
    "    tes_X = np.concatenate([\n",
    "        np.concatenate([\n",
    "            train_test_x2[200000:, 5*cnum:5*cnum+5], \n",
    "            np.ones((100000, 1)).astype(\"int\")*cnum\n",
    "        ], axis=1) for cnum in range(200)], axis=0\n",
    "    )\n",
    "    \n",
    "    train_dset = lgb.Dataset(\n",
    "        tra_X, tra_y, \n",
    "        feature_name=['value', 'count_org', 'count_2', 'count_3', 'count_4', 'varnum'], \n",
    "        categorical_feature=['varnum'], free_raw_data=False\n",
    "    )\n",
    "    clf = lgb.train(params, train_set=train_dset, num_boost_round=1500, verbose_eval=100)\n",
    "    l = val_idx.shape[0]\n",
    "    \n",
    "    pred_valid = clf.predict(val_X)\n",
    "    pred_tes = clf.predict(tes_X)\n",
    "    for j in range(200):\n",
    "        oof_pred[val_idx, j] = pred_valid[j*l:(j+1)*l]\n",
    "        tes_pred[:, j, i] = pred_tes[j*100000:(j+1)*100000]\n",
    "    \n",
    "    clf_list.append(clf)\n",
    "    print(\"i = \", i)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9259151469402911"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "roc_auc_score(y_train, (9 * oof_pred / (1 - oof_pred)).prod(axis=1))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.926009984401244"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "l = y_train.shape[0]\n",
    "pred_valid_p = np.ones(l) * 1 / 9\n",
    "for j in range(200):\n",
    "    if roc_auc_score(y_train, oof_pred[:, j]) >= 0.500:\n",
    "        pred_valid_p *= (9 * oof_pred[:, j] / (1 - oof_pred[:, j]))\n",
    "roc_auc_score(y_train, pred_valid_p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9260052973036538"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "l = y_train.shape[0]\n",
    "pred_valid_p = np.ones(l) * 1 / 9\n",
    "for j in range(200):\n",
    "    if roc_auc_score(y_train, oof_pred[:, j]) >= 0.502:\n",
    "        pred_valid_p *= (9 * oof_pred[:, j] / (1 - oof_pred[:, j]))\n",
    "roc_auc_score(y_train, pred_valid_p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.9258495867608392"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "l = y_train.shape[0]\n",
    "pred_valid_p = np.ones(l) * 1 / 9\n",
    "for j in range(200):\n",
    "    if roc_auc_score(y_train, oof_pred[:, j]) >= 0.505:\n",
    "        pred_valid_p *= (9 * pred_tes[:, j] / (1 - oof_pred[:, j]))\n",
    "roc_auc_score(y_train, pred_valid_p)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "# test"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [],
   "source": [
    "pred_tes_m = tes_pred.mean(axis=2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [],
   "source": [
    "pred_test_p = np.ones(100000) * 1 / 9\n",
    "for j in range(200):\n",
    "    if roc_auc_score(y_train, oof_pred[:, j]) >= 0.500:\n",
    "        pred_test_p *= (9 * pred_tes_m[:, j] / (1 - pred_tes_m[:, j]))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([54431., 14775.,  7770.,  5019.,  3651.,  2926.,  2349.,  2216.,\n",
       "         2362.,  4501.]),\n",
       " array([1.06519394e-04, 1.00095428e-01, 2.00084337e-01, 3.00073246e-01,\n",
       "        4.00062155e-01, 5.00051064e-01, 6.00039973e-01, 7.00028882e-01,\n",
       "        8.00017791e-01, 9.00006700e-01, 9.99995609e-01]),\n",
       " <a list of 10 Patch objects>)"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "pred_test_pp = pred_test_p / (1 + pred_test_p)\n",
    "plt.hist(pred_test_pp)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [],
   "source": [
    "samp = pd.read_csv(\"../input/sample_submission.csv\")\n",
    "test_df_samp = pd.DataFrame({\"ID_code\":test_df.ID_code.values , \"target\":pred_test_pp})\n",
    "sub_df_ = pd.merge(samp[[\"ID_code\"]], test_df_samp, how=\"left\").fillna(0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[1.         0.82509919]\n",
      " [0.82509919 1.        ]]\n",
      "SpearmanrResult(correlation=0.9741994476303213, pvalue=0.0)\n"
     ]
    }
   ],
   "source": [
    "import scipy.stats\n",
    "# CHECK\n",
    "compare_df = pd.read_csv(\"../output/rankave_904_910.csv\")\n",
    "compare_df_read = pd.merge(test_df[[\"ID_code\"]], compare_df)\n",
    "\n",
    "print(np.corrcoef(compare_df_read.target.values, test_df_samp.target.values))\n",
    "print(scipy.stats.spearmanr(compare_df_read.target.values, test_df_samp.target.values))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "sub_df_.to_csv(\"../output/concat_lgb_hrd_0407_1.csv\", index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
